home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / The World of Computer Software.iso / qbbs276d.zip / STRUCT.276 < prev    next >
Text File  |  1993-01-02  |  16KB  |  452 lines

  1.   (****************************************************************************)
  2.   (*         Structures document for QuickBBS version 2.76                    *)
  3.   (*         Copyright 1991,1992   Pegasus Software                           *)
  4.   (*         All Rights Reserved.                                             *)
  5.   (****************************************************************************)
  6.  
  7. Const
  8.   MaxMsgAreas  = 200;
  9.   MaxFileAreas = 200;
  10.   MaxEvents    = 30;
  11.  
  12. type
  13.  
  14.   FlagType = array[1..4] of Byte;
  15.  
  16.   UserRecord = record
  17.                  Name        : String[35];
  18.                  City        : String[25];
  19.                  Pwd         : String[15];
  20.                  DataPhone,
  21.                  HomePhone   : String[12];
  22.                  LastTime    : String[5];
  23.                  LastDate    : String[8];
  24.                  Attrib      : Byte;
  25.                  Flags       : FlagType;
  26.                  Credit,
  27.                  Pending,
  28.                  TimesPosted,
  29.                  HighMsgRead,
  30.                  SecLvl,
  31.                  Times,
  32.                  Ups,
  33.                  Downs,
  34.                  UpK,
  35.                  DownK       : Word;
  36.                  TodayK      : Integer;
  37.                  Elapsed,
  38.                  Len         : Integer;
  39.                  CombinedPtr : Word; (* Record number in COMBINED.BBS *)
  40.                  AliasPtr    : Word; (* Record number in ALIAS.BBS *)
  41.                  Birthday    : Longint;
  42.                end;
  43.  
  44. (*  Attrib:
  45.  
  46.       Bit 0: Deleted
  47.       Bit 1: Screen Clear Codes
  48.       Bit 2: More Prompt
  49.       Bit 3: ANSI
  50.       Bit 4: No-Kill
  51.       Bit 5: Ignore Download Hours
  52.       Bit 6: ANSI Full Screen Editor
  53.       Bit 7: Sex (0=male, 1=female)
  54.  
  55. *)
  56.  
  57. type
  58.  
  59.   UserActivityType = (InMenu, InDoor, InCallback, 
  60.                       ReadingMessages, WritingMessage,
  61.                       ChattingWithSysop, ChattingWithUsers,
  62.                       AnsweringQuestionaire, ViewingTextFile, 
  63.                       DownloadingFile, UploadingFile, ViewingFileList, 
  64.                       DoingFileSearch, LoggingOn, LoggingOff);
  65.  
  66.  
  67.   USERONrecord   = record
  68.                      Name           : String[35];
  69.                      Alias          : String[35];
  70.                      Line           : Byte;
  71.                      Baud           : Word;
  72.                      City           : String[25];
  73.                      DoNotDisturb   : Boolean;
  74.                      Conference     : Byte;
  75.                      Activity       : UserActivityType;
  76.                      Spare          : Array[1..9] of Byte;
  77.                    end;
  78.  
  79.   AliasRecord = String[35]; (* for ALIAS.BBS *)
  80.  
  81.   MsgToIdxRecord = String[35];
  82.  
  83.   MsgTxtRecord = String[255];
  84.  
  85.   { Nodelist Records *************************************************** }
  86.  
  87.   NodeTypes      = (ntZone, ntRegion, ntNet, ntNode, ntPrefix);
  88.  
  89.   NodeIdxRecord  = record
  90.                        NodeType       : NodeTypes;
  91.                        Number,
  92.                        Cost           : Word;
  93.                        RawFile        : Byte;
  94.                        RawPos         : LongInt;
  95.                    end;
  96.  
  97.   FileNameType   = String[12];
  98.  
  99.   NodeIncRecord  = record
  100.                        FileName       : FileNameType;
  101.                        DateStamp      : LongInt;
  102.                    end;
  103.  
  104.   { Message Records ******************************************************}
  105.  
  106.   CombSelectType = array[1..MaxMsgAreas] of Boolean; (* for COMBINED.BBS *)
  107.  
  108.   InfoRecord = record
  109.                  LowMsg  : Integer; { Lowest Message in File }
  110.                  HighMsg : Integer; { Highest Message in File }
  111.  
  112.                  TotalActive : Integer; { Total Active Messages }
  113.  
  114.                  ActiveMsgs : array[1..MaxMsgAreas] of Integer;
  115.                end;
  116.  
  117.   IdxRecord = record
  118.                 MsgNum : Integer;
  119.                 Board  : Byte;
  120.               end;
  121.  
  122.   HdrRecord = record
  123.                 MsgNum,
  124.                 ReplyTo,
  125.                 SeeAlsoNum,
  126.                 TRead    : Integer;
  127.                 StartRec : Word;
  128.                 NumRecs,
  129.                 DestNet,
  130.                 DestNode,
  131.                 OrigNet,
  132.                 OrigNode : Integer;
  133.                 DestZone,
  134.                 OrigZone : Byte;
  135.                 Cost     : Integer;
  136.                 MsgAttr,
  137.                 NetAttr,
  138.                 Board    : Byte;
  139.                 PostTime : String[5];
  140.                 PostDate : String[8];
  141.                 WhoTo,
  142.                 WhoFrom  : String[35];
  143.                 Subj     : String[72];
  144.               end;
  145.  
  146.  
  147. (* Msg Attributes:
  148.  
  149.       Bit 0: Deleted
  150.       Bit 1: Unmoved Outgoing Net Message
  151.       Bit 2: Is a Net Mail Message
  152.       Bit 3: Private
  153.       Bit 4: Received
  154.       Bit 5: Unmoved Outgoing Echo Message
  155.       Bit 6: Local Bit
  156.       Bit 7: Group Message
  157.  
  158.    Net Attributes:
  159.  
  160.       Bit 0: Kill Message after it's been sent
  161.       Bit 1: Sent OK
  162.       Bit 2: File(s) Attached
  163.       Bit 3: Crash Priority
  164.       Bit 4: Request Receipt
  165.       Bit 5: Audit Request
  166.       Bit 6: Is a Return Receipt
  167.       Bit 7: Freq
  168.  
  169. *)
  170.  
  171.   { Other Stuff *********************************************************** }
  172.  
  173.   SysInfoRecord = record
  174.                     CallCount        : LongInt;
  175.                     LastCallerName   : String[35];
  176.                     LastCallerAlias  : String[35];
  177.                     ExtraSpace : array[1..92] of Byte;
  178.                   end;
  179.  
  180.   TodayRecord = record
  181.                      Name           : String[35];
  182.                      Alias          : String[35];
  183.                      Line           : Byte;
  184.                      City           : String[25];
  185.                      Date           : Longint;
  186.                      Time           : Longint;
  187.                    end;
  188.  
  189.   TimeLogRecord = record
  190.                     StartDate   : String[8];
  191.                     BusyPerHour : array[0..23] of Integer;
  192.                     BusyPerDay  : array[0..6] of Integer;
  193.                   end;
  194.  
  195.   LastReadType = Array[1..MaxMsgAreas] of Word;
  196.  
  197.   MenuRecord = record
  198.                  Typ   : Byte;
  199.                  Sec   : Integer;
  200.                  Flags : FlagType;
  201.                  Str   : String[75];
  202.                  Key   : Char;
  203.                  Data  : String[80];
  204.                  Fg,
  205.                  Bg    : Byte;
  206.                end;
  207.  
  208.   { Configuration Information ********************************************** }
  209.  
  210.   TypeMsgs  = (Standard,Netmail,FMail,EchoMail);
  211.   KindMsgs  = (Both,Private,Public,ROnly);
  212.   EventStat = (Deleted, Enabled, Disabled);
  213.   AskType   = (No, Maybe, Yes);
  214.   ProtocolEnableType = (Never, MNP_Only, Always);
  215.  
  216.   SecurityRecord = Record
  217.     Security : Word;
  218.     Flags    : FlagType;
  219.   End;
  220.  
  221.   FileAreaRecord = Record (* FILECFG.DAT *)
  222.     AreaName,
  223.     FilePath,
  224.     ListPath    : String[66];
  225.     AllowUploads,
  226.     IgnoreKlimit,
  227.     IgnoreRatio : Boolean;
  228.     DlSec       : SecurityRecord;
  229.     SearchSec   : SecurityRecord;
  230.     TemplateSec : SecurityRecord;
  231.     CheckDupes  : Boolean;
  232.     Group       : Byte;
  233.     Spare       : Array[3..12] of Byte;
  234.   End;
  235.  
  236.   BoardRecord = record (* MSGCFG.DAT *)
  237.                   Name            : String[40];
  238.                   Typ             : TypeMsgs;
  239.                   Kinds           : KindMsgs;
  240.                   Combined        : Boolean;
  241.                   Aliases         : AskType;
  242.                   Aka             : Byte;
  243.                   OriginLine      : String[58];
  244.                   AllowDelete     : Boolean;
  245.                   KeepCnt,                (* Max # of Msgs to keep *)
  246.                   KillRcvd,               (* Kill received msgs after this many days *)
  247.                   KillOld         : Word; (* Kill msgs after this many days *)
  248.                   ReadSec         : SecurityRecord;
  249.                   WriteSec        : SecurityRecord;
  250.                   TemplateSec     : SecurityRecord;
  251.                   SysopSec        : SecurityRecord;
  252.                   FileArea        : Integer;  (* for Fmail *)
  253.                   Group           : Byte;
  254.                   Spare           : Array[4..12] of Byte;
  255.                 end;
  256.  
  257.    EventRecord = record (* EVENTCFG.DAT *)
  258.                   Status      : EventStat;
  259.                   RunTime     : LongInt;
  260.                   ErrorLevel  : Byte;
  261.                   Days        : Byte;
  262.                   Forced      : Boolean;
  263.                   LastTimeRun : LongInt;
  264.                   Spare       : Array[1..7] of Byte;
  265.                 end;
  266.  
  267.    ModemTranslationRecord = Record
  268.                    TranslateFrom : String[25];
  269.                    TranslateTo   : Word;
  270.                  End;
  271.  
  272.    ConfigRecord = record  (* QUICKCFG.DAT *)
  273.  
  274.                    VersionID : Word;
  275.  
  276.                    Node      : Byte;
  277.  
  278.                    (*  Modem Parameters  *)
  279.                    CommPort      : Integer;
  280.                    InitBaud      : Word;
  281.                    ModemDelay    : Word;
  282.                    InitTimes,
  283.                    AnswerWait    : Integer;
  284.                    ModemInitStr,
  285.                    ModemBusyStr  : String[70];
  286.                    ModemInitResp,
  287.                    ModemBusyResp : String[40];
  288.  
  289.                    ModemConnectResp :
  290.                      Array[1..8] of ModemTranslationRecord;
  291.  
  292.                    CBV_CallbackDelay,
  293.                    CBV_WakeupDelay : Word;
  294.  
  295.                    ARQ_String      : String[8];
  296.  
  297.                    ModemSpareInfo : Array[14..22] of Byte;
  298.  
  299.                    (*  System Paths  *)
  300.                    EditorCmdStr    : String[70];
  301.                    MenuPath,
  302.                    TextPath,
  303.                    NetPath,
  304.                    NodelistPath,
  305.                    MsgPath,
  306.                    SwapPath,
  307.                    OverlayPath     : String[66];
  308.  
  309.                    (* System misc strings *)
  310.                    LoadingMessage  : String[70];
  311.                    SelectionPrompt : String[70];
  312.                    NoMailString    : String[70];
  313.                    OriginLine      : String[58];
  314.                    QuoteStr        : String[3];
  315.  
  316.                    (*  User Restrictions *)
  317.                    LowBaudStart,
  318.                    LowBaudEnd,
  319.                    DownloadStart,
  320.                    DownloadEnd     : LongInt;
  321.                    MaxPageTimes,
  322.                    PageBellLen     : Integer;
  323.                    PagingStart,
  324.                    PagingEnd       : LongInt;
  325.                    MinBaud,
  326.                    GraphicsBaud,
  327.                    XferBaud        : Integer;
  328.  
  329.                    (*  Matrix Information  *)
  330.                    MatrixZone,
  331.                    MatrixNet,
  332.                    MatrixNode,
  333.                    MatrixPoint     : array[0..10] of Integer;
  334.                    NetMailBoard    : Integer;
  335.  
  336.                    (*  Default Information for New Users  *)
  337.                    DefaultSec      : SecurityRecord;
  338.                    MinimumSec      : SecurityRecord;
  339.                    DefaultCredit   : Integer;
  340.  
  341.                    (*  Sysop Security Etc. *)
  342.                    SysopSecurity   : SecurityRecord;
  343.                    SysopName       : String[35];
  344.                    SystemName      : String[40];
  345.                    RegKey          : LongInt;
  346.  
  347.                    (*  Misc System Parameters  *)
  348.  
  349.                    TextFileShells,
  350.                    AltJswap,
  351.                    Editorswap,
  352.                    AutoLogonChar,
  353.                    FastLogon,
  354.                    UseLastRead,
  355.                    MonoMode,
  356.                    DirectWrite,
  357.                    SnowCheck,
  358.                    NetEchoExit,
  359.                    OneWordNames,
  360.                    CheckMail,
  361.                    AskHomePhone,
  362.                    AskDataPhone,
  363.                    AskBirthday,
  364.                    AskSex,
  365.                    Use_Xmodem,
  366.                    Use_Xmodem1k,
  367.                    Use_Ymodem      : Boolean;
  368.                    Use_YmodemG     : ProtocolEnableType;
  369.                    Use_Kermit,
  370.                    Use_Zmodem,
  371.                    Inp_Fields,
  372.                    GraphicsAvail,
  373.                    ForceUS_Phone   : Boolean;
  374.                    InactiveTimeOut : Integer;
  375.                    LogonTime       : Integer;
  376.                    DefFgColor      : Integer;
  377.                    DefBgColor      : Integer;
  378.                    PasswordTries   : Integer;
  379.                    EntFldColor     : Byte; (* Color for entry fields *)
  380.                    BorderColor     : Byte; (* Color for menu borders *)
  381.                    WindowColor     : Byte;
  382.                    StatusBarColor  : Byte;
  383.                    UploadCredit    : Integer;
  384.                    ScreenBlank     : Byte;
  385.  
  386.                    (* Callback verifier *)
  387.                    VerifierInit    : string[35];
  388.                    DialString      : string[15];
  389.                    DialSuffix      : string[15];
  390.                    DupeCheck       : Boolean;
  391.                    NewUserSec,
  392.                    MemberSec       : Word;
  393.                    MemberFlags     : Array[1..4,1..8] of Char;
  394.                    LDcost          : Word;
  395.                    LDenable,
  396.                    ResumeLocal,
  397.                    ResumeLD        : Boolean;
  398.                    LDstart,
  399.                    LDend           : Longint;
  400.  
  401.                    ForgotPwdBoard  : Byte;
  402.                    SendATA         : Boolean;
  403.  
  404.                    Location        : String[60];
  405.  
  406.                    ArchiveNetMail  : Boolean;
  407.  
  408.                    IEMSI,
  409.                    IEMSI_New,
  410.                    AutoAnsi,
  411.                    MultiNode,
  412.                    AutoLogChat     : Boolean;
  413.                    UserEditor      : String[70];
  414.                    
  415.                    ExtraSpace      : Array[141..400] of Byte;
  416.  
  417.                  end;
  418.  
  419.   GosubDataType = array[1..20] of String[8];
  420.  
  421.   ExitRecord = record (* EXITINFO.BBS *)
  422.                  BaudRate        : Integer;
  423.                  SysInfo         : SysInfoRecord;
  424.                  TimeLogInfo     : TimeLogRecord;
  425.                  UserInfo        : UserRecord;
  426.                  EventInfo       : EventRecord;
  427.                  NetMailEntered  : Boolean;
  428.                  EchoMailEntered : Boolean;
  429.                  LoginTime       : String[5];
  430.                  LoginDate       : String[8];
  431.                  TmLimit         : Integer;
  432.                  LoginSec        : LongInt;
  433.                  Credit          : LongInt;
  434.                  UserRecNum      : Integer;
  435.                  ReadThru        : Integer;
  436.                  PageTimes       : Integer;
  437.                  DownLimit       : Integer;
  438.                  WantChat        : Boolean;
  439.                  GosubLevel      : Byte;
  440.                  GosubData       : GosubDataType;
  441.                  Menu            : String[8];
  442.                  ScreenClear     : Boolean;
  443.                  MorePrompts     : Boolean;
  444.                  GraphicsMode    : Boolean;
  445.                  ExternEdit      : Boolean;
  446.                  ScreenLength    : Integer;
  447.                  MNP_Connect     : Boolean;
  448.                  ChatReason      : String[48];
  449.                  ExternLogoff    : Boolean;
  450.                  ANSI_Capable    : Boolean;
  451.                end;
  452.